//  home 中间件
import Vue from 'vue';
import Vuex from 'vuex';
import axios from 'axios'

//  在框架中应用Vuex
Vue.use(Vuex);

export default {
    state: {
        //  定义属性
        newHouse: [],
        max_len: 0
    },
    mutations: {
        //  修改属性值
        //  给上面的state定义的属性设置值
        setNewHouse(state, val) {
            //  传入state对象进行赋值   concat:数组拼接
            // console.log(val);
            state.newHouse = state.newHouse.concat(val);
        }
    },
    actions: {
        //  定义方法
        getHome() {
            console.log('this is page of home!!!!');
        },
        //
        //  定义方法(可以在vue组件调用)
        getNewHouse({ commit, state }, pages) { //  获取上面的对象 state
            //  异步请求
            let star = (pages - 1) * 3;
            let end = star + 3;
            axios({
                method: 'get',
                url: './data/house_data.json'
            }).then((res) => {
                let data = res.data;
                if (data.code === 200) {
                    //  设置数据
                    commit('setNewHouse', data.newHouse.slice(star, end));
                    //  记录房源总数
                    state.max_len = data.newHouse.length;
                }
            }).catch(function(err) {
                // console.log('1111');
                console.log(err)
            })
        }
    },
    modules: {
        //  引入其他中间件
    }
}